package ${basePackage}.service;

import ${modelReference};
import ${common}.core.PageResult;
import ${common}.service.Service;
import ${basePackage}.vo.entity.${tableInfo.className}EntityVO;
import ${basePackage}.vo.request.${tableInfo.className}RequestVO;
import ${basePackage}.vo.response.${tableInfo.className}ResponseVO;

/**
 * ${tableInfo.tableComment}
 *
 * @author ${author}
 * @date ${date}
 **/
public interface ${tableInfo.className}Service extends Service<${tableInfo.className}> {

    /**
     * 获取${tableInfo.tableComment}分页列表
     *
     * @param ${tableInfo.varName}RequestVO 查询条件
     * @return 返回${tableInfo.tableComment}分页结果
     */
    PageResult<${tableInfo.className}ResponseVO> query${tableInfo.className}PageList(${tableInfo.className}RequestVO ${tableInfo.varName}RequestVO);

    /**
     * 获取${tableInfo.tableComment}详细信息
     *
     * @param id ${tableInfo.tableComment}ID
     * @return ${tableInfo.tableComment}
     */
    ${tableInfo.className}EntityVO get${tableInfo.className}EntityVO(String id);

    /**
     * 新增${tableInfo.tableComment}
     *
     * @param ${tableInfo.varName}EntityVO ${tableInfo.tableComment}实体
     */
    void add${tableInfo.className}(${tableInfo.className}EntityVO ${tableInfo.varName}EntityVO);

    /**
     * 修改${tableInfo.tableComment}
     *
     * @param ${tableInfo.varName}EntityVO ${tableInfo.tableComment}实体
     */
    void update${tableInfo.className}(${tableInfo.className}EntityVO ${tableInfo.varName}EntityVO);

	<#if varNameList?seq_contains("useable")>
    /**
     * @param id        主键
     * @param isUseable 启用状态
     */
    void useable${tableInfo.className}(String id, Boolean isUseable);

	</#if>
    /**
     * 删除${tableInfo.tableComment}
     *
     * @param id ${tableInfo.tableComment}ID
     */
    void delete${tableInfo.className}(String id);
}
